#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
struct qj{
   int x;
   int y;
}a[maxn];
int cmp(qj k1,qj k2){
	return k1.x<k2.x;
}
int main()
{
	int n,sum=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
		scanf("%d%d",&a[i].x,&a[i].y);
	sort(a,a+n,cmp);
	if(a[0].x>1){
		printf("error!");
		return 0;
	}
	int begin=1,end=n;
	for(int i=0;i<n;i++){
		int maxv=0;
		if(a[i].x<=begin){
			for(int j=i;j<n;j++){
				if(a[j].x<=begin)
					maxv=max(maxv,a[j].y);
			}
			begin=maxv;
			sum++;
		}
		if(begin>=end) break;
	}
	printf("%d",sum);
	return 0;
}
